home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9611 / 000197_owner-urn-ietf _Mon Nov 25 12:06:02 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  25KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id MAA24916 for urn-ietf-out; Mon, 25 Nov 1996 12:06:02 -0500
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id MAA24907 for <urn-ietf@services.bunyip.com>; Mon, 25 Nov 1996 12:05:47 -0500
  3. Received: from lysithea.lcs.mit.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA06863  (mail destined for urn-ietf@services.bunyip.com); Mon, 25 Nov 96 12:05:27 -0500
  5. Received: (from sollins@localhost) by lysithea.lcs.mit.edu (8.6.9/8.6.9) id MAA17730; Mon, 25 Nov 1996 12:05:22 -0500
  6. Date: Mon, 25 Nov 1996 12:05:22 -0500
  7. Message-Id: <199611251705.MAA17730@lysithea.lcs.mit.edu>
  8. From: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  9. To: urn-ietf@bunyip.com
  10. Subject: [URN] URN resolution requirements and framework
  11. Sender: owner-urn-ietf@services.bunyip.com
  12. Precedence: bulk
  13. Reply-To: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  14. Errors-To: owner-urn-ietf@bunyip.com
  15.  
  16. Hi!
  17.  
  18. Attached is the first draft of a proposed document on requirements and
  19. a framework for URN resolution.  It is based on the internet drafts
  20. presented at the URN BOF in Montreal separately on requirements
  21. (without the discussion of various schemes) and the framework document
  22. by Leslie, Patrik, and Renato.  I have added an additional preliminary
  23. section on assumptions, which seems important in light of some of the
  24. discussions on this list.  I've also tried to enhance the
  25. requirements, again based on discussions and broaden the framework a
  26. little, to make it less specific to the NAPTR proposal, in order to
  27. extend its utility.
  28.  
  29. We will talk about it in San Jose, but in the meantime comments and
  30. discussion (no rotten eggs or tomatoes, please:-) are welcome.
  31.  
  32.             Karen
  33.  
  34. PS: To the Americans on the list, have a nice Thanksgiving!
  35. ______________________________
  36.  
  37. Internet Draft                                          Karen R. Sollins
  38. draft-ietf-urn-req-frame-00.txt                                  MIT/LCS
  39. Expires May 26, 1997                                   November 26, 1996
  40.  
  41.     Requirements and a Framework for URN Resolution Systems
  42.  
  43.  
  44. Status of this draft
  45.      This document is an Internet-Draft.  Internet-Drafts are working
  46.      documents of the Internet Engineering Task Force (IETF), its
  47.      areas, and its working groups.  Note that other groups may also
  48.      distribute working documents as Internet-Drafts.
  49.  
  50.      Internet-Drafts are draft documents valid for a maximum of six
  51.      months and may be updated, replaced, or obsoleted by other
  52.      documents at any time.  It is inappropriate to use Internet-
  53.      Drafts as reference material or to cite them other than as
  54.      ``work in progress.''
  55.  
  56.      To learn the current status of any Internet-Draft, please check
  57.      the ``1id-abstracts.txt'' listing contained in the Internet-
  58.      Drafts Shadow Directories on ftp.is.co.za (Africa),
  59.      nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  60.      ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  61.  
  62.  
  63. Abstract:
  64.  
  65. This document addresses the issues of the discovery of local URN
  66. resolution services that in turn will directly translate URNs into
  67. URLs and URCs.  The document falls into three major parts, the
  68. assumptions underlying the work, the requirements in order to be a
  69. viable URN-resolution-service discovery service or UDS, and a
  70. framework for designing UDSs.  The requirements fall into three major
  71. areas: evolvability, usability, and security and privacy.  A UDS that
  72. is compliant with the framework will not necessarily be compliant with
  73. the requirements.  Compliance with the requirements will need to be
  74. validated separately.
  75.  
  76. 1. Introduction
  77.  
  78. The purpose of this document is to lay out the engineering criteria for
  79. what we will call here a URN-resolution-service discovery service (UDS).
  80. __________
  81.  
  82. Acknowledgments
  83.  
  84. Foremost acknowledgment for this document goes to Lewis Girod, as my
  85. co-author on a previous URN requirements document and for his insightful
  86. comments on this version of the document.  In addition, I recognize the
  87. contributors to a previous URN framework document, the "Knoxville"
  88. group.  There are too many of you to acknowledge here individually, but
  89. thank you.  Finally, I must thank the contributors to the URN working
  90. group mailing list (urn-ietf@bunyip.com), for their animated discussions
  91. on these and related topics.
  92.  
  93. URN Resolution Requirements                                      Page  1
  94.  
  95. This is a component of the realization of an information infrastructure.
  96. In the case of this work, that infrastructure is to be available, "in
  97. the Internet" or globally, and hence the solutions to the problems we
  98. are addressing must globally scalable.  In this work, we are focussing
  99. specifically on naming of resources and resolution of those names to the
  100. exclusion of other problems such as typing, resource access and
  101. availability, security of the resources, etc.  Those are all important
  102. problems, but not part of this effort.
  103.  
  104. The Uniform Resource Identifier Working Group defined a naming
  105. architecture, as demonstrated in a series of three RFCs 1736[RFC1736],
  106. 1737{RFC1737}, and 1738[RFC1738].  Although several further documents
  107. are needed to complete the description of that architecture, it
  108. incorporates three core functions often associated with "naming":
  109. identification, location, and mnemonics or semantics.  Names may provide
  110. the ability to distinguish one resource from another, by distinguishing
  111. their "names".  Names may help to provide access to a resource by
  112. including "location" information.  Lastly, names may have other semantic
  113. or mnemonic information that either helps human users remember or figure
  114. out the names, or include other semantic information about the resource
  115. being named.  The URI working group concluded that there was need for
  116. persistent, globally unique identifiers, distinct from location or other
  117. semantic information; these "names" provide identity, in that if two of
  118. them are "the same" (under some simple rule of canonicalization), they
  119. identify the same resource.  Furthermore, the group decided that these
  120. "names" were generally to be for machine, rather than human consumption.
  121. One can imagine a variety human-friendly naming (HFN) schemes supporting
  122. different suites of applications and user communities.  These will need
  123. to provide mappings to URNs in tighter or looser couplings, depending on
  124. the namespace.  It is these that will be mnemonic, content-full, and
  125. perhaps mutable, to track changes in use and semantics.  They may
  126. provide nicknaming and other aliasing, relative or short names, context
  127. sensitive names, descriptive names, etc.  The URI naming architecture as
  128. described in the introductions to RFCs 1736 and 1737 lays out three
  129. sorts of components to the naming architecture: identifiers called
  130. Uniform Resource Names (URNs), locators called Uniform Resource Locators
  131. (URLs) and semantic meta-information called Uniform Resource
  132. Characteristics (URCs).  This document focusses on part of the problem
  133. of the translation from URN to URL and/or URC.
  134.  
  135. Within the URI community there has been a concept used frequently that
  136. for lack of a better term we will call a _hint_.  A hint is something
  137. that helps in the resolution of a URN.  Examples of hints are: 1) the
  138. name of a resolution service that may further resolve the URN, 2) the
  139. address of such a service, 3) a location at which the resource was
  140. previously found.  The defining feature of hints is that they are only
  141. hints; they may be out of date, temporarily invalid, or only applicable
  142. within a specific locality.  They do not provide a guarantee of access,
  143. but they probably will help in the resolution process.  Wemust assume
  144. that most resolutions of URNs will be provided by the use of locally
  145. stored hints, because maintaining a database of globally available,
  146. completely up-to-date location information is infeasible for performance
  147. reasons.  There are a number of circumstances in which one can imagine
  148. that hints become invalid, either because a resource has moved or
  149. because a different URN resolution service has taken over the
  150.  
  151. URN Resolution Requirements                                      Page  2
  152.  
  153. responsibility for resolution of the URN.  Hints may be found in a
  154. variety of places.  It is generally assumed that a well engineered
  155. system will maintain a set of hints for each URN at each location where
  156. that URN is found.  In addition, for those situations in which those
  157. hints found locally fail, a well-engineered system will provide a
  158. fall-back mechanism for discovering further hints.  It is this fall-back
  159. mechanism, a UDS, that is being addressed in this document.  As with all
  160. hints, there can never be a guarantee that access to a resource will be
  161. available to all clients, even if the resource is accessible to some.
  162. However, a UDS is expected to work with reasonably high reliability,
  163. and, hence, may result in increased response time.  The remainder of
  164. this document falls into three sections.  The first identifies several
  165. sets of assumptions underlying this work.  The next lays out the
  166. requirements for a URN-resolution-service discovery service.  This
  167. section is probably the most critical of the document, because it is
  168. this that provides the metric for whether or not a proposed scheme for a
  169. UDS is adequate or not.  For the reader short on time, each of the three
  170. major subsections of the requirements section concludes with a summary
  171. list of the requirements identified in that section.  The final section
  172. of the document lays out a framework for such UDSs.  The purpose of this
  173. last section is to bound the search space for UDS schemes.  One must be
  174. careful not to assume that because a UDS scheme fits within the
  175. framework that it necessarily meets the requirements.  As will be
  176. discussed further in this last section, designing within the framework
  177. does not guarantee compliance, so compliance evaluation must also be
  178. part of the process of evaluation of a scheme.
  179.  
  180. 2. Assumptions
  181.  
  182. Based on previous internet drafts and discussion in both the URN BOFs
  183. and on the URN WG mailing list, three major areas of assumptions are
  184. apparent: longevity, delegation, and independence.  Each will be
  185. discussed separately.
  186.  
  187. The URN requirements state that a URN is to be a "persistent
  188. identifier".  It is probably the case that nothing will last forever,
  189. but in the time frame of resources, users of those resources, and the
  190. systems to support the resources, the identifier should be considered to
  191. be persistent or have a longer lifetime than those other entities.
  192. There are two assumptions that are implied by longevity of URNs:
  193. mobility and evolution.  "Mobility" assumes that.  everything will move
  194. over the life of a URN.  For example, resources will move from one
  195. machine to another, because individual machines have a much shorter
  196. lifetime than resources, generally measured in a number of years less
  197. than a decade.  Owners of resources may move and wish their resources to
  198. follow them.  The services themselves will move.  "Evolutions" assumes
  199. that the supporting infrastructure will evolve.  This may take the form
  200. of entirely new transport protocols or new versions of existing
  201. protocols.  Furthermore, services such as storage services may evolve;
  202. it is even possible that within a human lifetime the Unix file system
  203. model may no longer be in use!  Clearly there will be evolution of and
  204. improvement in supporting authentication and security mechanisms.  These
  205. are only examples.  In general, we must assume that almost any piece of
  206. the supporting infrastructure of URN resolution will evolve.  In order
  207. to deal with both the mobility and evolution assumptions that derive
  208.  
  209. URN Resolution Requirements                                      Page  3
  210.  
  211. from the assumption of longevity, we must assume that users and their
  212. applications can remain independent of these mutating details of the
  213. supporting infrastructure.
  214.  
  215. The second and third assumptions are two forms of modularity, delegation
  216. and isolation.  The delegation assumption is that an entity may
  217. partition and pass off some of its authority or responsibility.  One of
  218. those responsibilities is for assigning URNs; practically speaking,
  219. there cannot be only a single authority for assigning URNs.  We expect
  220. that there will be a multi-tiered naming authority delegation.
  221. Furthermore, it is difficult to imagine a non-partitioned and delegated
  222. global UDS, meaning that hint discovery and resolution will be
  223. partitioned and delegated.  In some UDS schemes, the delegation of
  224. naming authority will form a basis for delegating the management and
  225. dispensing of location information.
  226.  
  227. The third assumption is independence or isolation of one authority from
  228. another and, at least to some extent from its parent.  Underlying much
  229. of the thinking and discussion in the URI and URN working groups has
  230. been the assumption that when a component delegates authority to another
  231. component, the delegatee can operate in that domain independently of its
  232. peers and within bounds specified by the delegation, independently of
  233. the delegator.  This isolation is critically important in order to allow
  234. for independence of policy and mechanism.
  235.  
  236. There are a number of more specific assumptions that fall under this
  237. rubric of isolation.  First, we assume that the publisher of a resource
  238. can choose resolution services, independently of choices made by others.
  239. At any given time, the owner of a namespace may choose a particular URN
  240. resolution service for that delegated namespace.  Such a URN resolution
  241. service may be outside the UDS service model, and just identified or
  242. located by the UDS service.  Second, it must be possible to make a
  243. choice among UDS services, perhaps based on different underlying
  244. internal architectures.  The reason that this is an assumption is that
  245. there must be an evolutionary path through a sequence of core UDS
  246. services.  Although at any given time there is likely to be only one or
  247. a small set of such services, the number is likely to increase during a
  248. transition period from one architecture to another.  Thus, it must be
  249. assumed that clients can make a choice among a probably very small set
  250. of UDSs.  Third, there must be independence in the choice about levels
  251. and models of security and authenticity required.  This choice may be
  252. made by the owner of a naming subspace, in controlling who can modify
  253. hints in that subspace.  A naming authority may delegate this choice to
  254. the owners of the resources named by the names it has assigned.  There
  255. may be limitations on this freedom of choice in order to allow other
  256. participants to have the level of security and authenticity they
  257. require, for example, in order to maintain the integrity of the UDS
  258. infrastructure as a whole.  Fourth, there is an assumption of
  259. independence of choice of the rule of canonicalization of URNs within a
  260. namespace, limited by any restrictions or constraints that may have been
  261. set by its parent namespace.  This is a choice held by naming
  262. authorities over their own subnamespaces.  Rules for canonicalization
  263. will be discussed further in the framework section below.  Thus, there
  264. are assumptions of independence and isolation to allow for delegated,
  265. independent authority in a variety of domains.
  266.  
  267. URN Resolution Requirements                                      Page  4
  268.  
  269. The modularity assumptions of delegation and isolation imply
  270. independence of decision and implementation, leading to a
  271. decentralization that provides a certain degree of safety from denial of
  272. service.  Based on these these assumptions in conjunction with that of
  273. longevity and those for URLs and URNs as detailed in RFCs 1736 and 1737,
  274. we can now turn to the requirements for a URN services delegation
  275. service.
  276.  
  277. 3. Requirements
  278.  
  279. The requirements applying to a URN-resolution-service discovery service
  280. or UDS center around three important design goals: evolvability,
  281. usability, and security and privacy.  At its core the function of a UDS
  282. is to provide hints for accessing a resource given a URN for it.  These
  283. hints may range in applicability from local to global, and from
  284. short-lived to long-lived.  They also may vary in their degree of
  285. verifiable authenticity.  While it may be neither feasible nor necessary
  286. that initial implementations support every requirement, every
  287. implementation must support evolution to systems that do support every
  288. requirement.
  289.  
  290. It is also important to note that there are other requirements, not
  291. applicable specifically to a UDS that must also be met.  A whole URN
  292. system will consist of namespaces, the resolution information for them,
  293. and the mapping from names in the namespaces to resolution information
  294. (or hints).  URN schemes must meet the requirements of RFC 1737.
  295. Resolution information, to the extent it is expressed as URLs must meet
  296. the requirements of RFC 1736.  But this does not tell the whole story.
  297. Although the URN working group will identify several acceptable
  298. namespaces and the rules binding them, such as how delegation occurs,
  299. how it is expressed in the names, how and to what extent binding to hint
  300. information will be constrained by the namespace, in the long run a
  301. document will be needed to guide the evaluation criteria for acceptance
  302. of new namespaces.  These are not included in the list of requirements
  303. below because they are not requirements for a UDS, but rather for naming
  304. schemes themselves.
  305.  
  306. 3.1 Evolution
  307.  
  308. One of the lessons of the Internet that we must incorporate into the
  309. development of mechanisms for resolving URNs is that we must be prepared
  310. for change.  Such changes may happen slowly enough to be considered
  311. evolutionary modifications of existing services or dramatically enough
  312. to be considered revolutionary.  They may permeate the Internet universe
  313. bit by bit, living side by side with earlier services or they may take
  314. the Internet by storm, causing an apparent complete transformation over
  315. a short period of time.  There are several directions in which we can
  316. predict the need for evolution, even at this time, prior to the
  317. deployment of any such service.  At the very least, the community and
  318. the mechanisms proposed should be prepared for these.
  319.  
  320. First, we expect there to be additions and changes to the mechanisms.
  321. The community already understands that there must be a capacity for new
  322. URN schemes.  A URN scheme will define a set of URNs that meet the URN
  323. requirements[RFC1737], but may have further constraints on the internal
  324.  
  325. URN Resolution Requirements                                      Page  5
  326.  
  327. structure of the URN.  The requirements document would allow for an
  328. overall plan in which URN schemes are free to specify parts of the URN
  329. that are left opaque in the larger picture.  In fact, a URN scheme may
  330. choose to make public the algorithms for any such "opaque" part of the
  331. URN.  For example, although it may be unnecessary to know the structure
  332. of an ISBN, the algorithm for understanding the structure of an ISBN has
  333. been made public.  Other schemes may either choose not to make their
  334. algorithms public, or choose a scheme in which knowledge of the scheme
  335. does not provide any significant semantics to the user.  In any case, we
  336. must be prepared for a growing number of URN schemes.
  337.  
  338. Often in conjunction with a new URN scheme, but possibly independently
  339. of any particular URN scheme, new resolution services may evolve.  For
  340. example, one can imagine a specialized resolution service based on the
  341. particular structure of ISBNs that improves the efficiency of finding
  342. documents given their ISBNs.  Alternatively, one can also imagine a
  343. general purpose resolution service that trades performance for
  344. generality; although it exhibits only average performance resolving
  345. ISBNs, it makes up for this weakness by understanding all existing URN
  346. schemes, so that its clients can use the same service to resolve URNs
  347. regardless of naming scheme.  In this context, there will always be room
  348. for improvement of services, through improved performance, better
  349. adaptability to new URN schemes, or lower cost.  In any case, new models
  350. for URN resolution will evolve and we must be prepared to allow for
  351. their participation in the overall resolution of URNs.
  352.  
  353. If we begin with one overall plan for URN resolution, into which the
  354. enhancements described above may fit, we must also be prepared for an
  355. evolution in the authentication schemes that will be considered either
  356. useful or necessary in the future.  There is no single globally accepted
  357. authentication scheme, and there may never be one.  Even if one does
  358. exist at some point in time, there will always be threats to it, and so
  359. we must always be prepared to move on to newer and better schemes, as
  360. the old ones become too easily spoofed or guessed.
  361.  
  362. Lastly, in terms of mechanism, although we may develop and deploy a
  363. single UDS scheme initially, we must be prepared for that top level
  364. model to evolve.  Thus, if the UDS model supports an apparently
  365. centralized (from a policy standpoint) scheme for inserting and
  366. modifying authoritative information, over time we must be prepared to
  367. evolve to a different model, perhaps one that has a more distributed
  368. model of authority and authenticity.  If the model has no core but
  369. rather a cascaded partial discovery of information, we may find that
  370. this becomes unmanageable with an increase in scaling.  Whatever the
  371. core of the model, we must be prepared for it to evolve with changes in
  372. scaling, performance, and policy constraints such as security and cost.
  373.  
  374. Second, in addition to the evolution of resolution mechanisms, we expect
  375. that the community will follow an evolutionary path towards the
  376. separation of semantics from identification.  The URN requirements
  377. document suggested this path as well, and there has been general
  378. agreement in much of the community that such a separation is desirable.
  379. This is a problem that the public at large has generally not understood.
  380. Today we see the problem most clearly with the use of URLs for
  381. identification.  When a web page moves, its URL becomes invalid.
  382.  
  383. URN Resolution Requirements                                      Page  6
  384.  
  385. Suppose such a URL is embedded in some page, stored in long term
  386. storage.  There are three possible outcomes to this scenario.  One
  387. possibility is that the client is left high and dry with some message
  388. saying that the page cannot be found.  Alternatively, a "forwarding
  389. pointer" may be left behind, in the form of an explicit page requesting
  390. the client to click on a new URL.  Although this will allow the client
  391. to find the intended page, the broken link cannot be fixed because the
  392. URL is embedded in a file outside of the client's control.  A third
  393. alternative is that the target server supplies an HTTP redirect so that
  394. the new page is provided for the client automatically.  In this case,
  395. the client may not even realize that the URL is no longer correct.  The
  396. real problem with both of these latter two situations is that they only
  397. work as long as the forwarding pointer can be found at the old URL.
  398. Semantics, in this case location information, was embedded in the
  399. identifier, and the resolution system was designed to depend on the
  400. semantics being correct.  There are few cases in which we can expect
  401. semantics of any sort to remain valid for a long time, but in many cases
  402. references need to have long lifespans.  Most documents are only useful
  403. while their references still function.
  404.  
  405. We expect the evolution to separation of semantics from identification
  406. to move along at least three paths.  The first will be to develop
  407. temporary aliases to capture the semantics currently embedded in
  408. identifiers.  This will require additional translation, but it will
  409. allow for the development of semantics-free URNs.  Second, we expect
  410. locally shared or private aliases to arise, again supported by a
  411. translation mechanism and allowing for the long-term storage of global,
  412. semantics-free URNs.  Such an aliasing scheme may be used to permit
  413. local aliases for named resources as well as to present these aliases to
  414. users in lieu of the URNs themselves.  Lastly, we expect there may be a
  415. development of global aliases.  These will be more user friendly "names"
  416. that would be shared on a much larger scale, and might be defined in
  417. some global registry.  This may include trademarked names as well as
  418. names in extremely common use.  As with the other alias systems, a
  419. facility for translation is needed.  However, in this case, since the
  420. system of aliases is of global scope, the translation facility will be
  421. very slow if each time an alias is translated it needs to query a
  422. centralized or even reasonably distributed global registry.  In order to
  423. achieve acceptable speeds, the translation facility w